
using System;
using LastFMGenNHibernate.EN.LastFM;
using LastFMGen_LastFMWCF.DTO.LastFM;

namespace LastFMGen_LastFMWCF.AdaptersEN.LastFM
{
        public class UsuarioRegistradoDTOENAdapter {
        public static UsuarioRegistradoEN Convert (UsuarioRegistradoDTO dto)
        {
                UsuarioRegistradoEN newinstance = null;

                try
                {
                        if (dto != null) {
                                newinstance = new UsuarioRegistradoEN ();



                                newinstance.Nombre = dto.Nombre;
                                newinstance.Correo = dto.Correo;
                                newinstance.Suscrito = dto.Suscrito;
                                newinstance.Fecha = dto.Fecha;
                                newinstance.TiempoEscuchado = dto.TiempoEscuchado;
                                if (dto.Evento_oid != null) {
                                        LastFMGenNHibernate.CAD.LastFM.IEventoCAD eventoCAD = new LastFMGenNHibernate.CAD.LastFM.EventoCAD ();

                                        newinstance.Evento = new System.Collections.Generic.List<LastFMGenNHibernate.EN.LastFM.EventoEN>();
                                        foreach (int entry in dto.Evento_oid) {
                                                newinstance.Evento.Add (eventoCAD.ReadOIDDefault (entry));
                                        }
                                }
                                if (dto.Invitacion_oid != null) {
                                        LastFMGenNHibernate.CAD.LastFM.IInvitacionCAD invitacionCAD = new LastFMGenNHibernate.CAD.LastFM.InvitacionCAD ();

                                        newinstance.Invitacion = new System.Collections.Generic.List<LastFMGenNHibernate.EN.LastFM.InvitacionEN>();
                                        foreach (int entry in dto.Invitacion_oid) {
                                                newinstance.Invitacion.Add (invitacionCAD.ReadOIDDefault (entry));
                                        }
                                }
                                if (dto.Invitacion_0_oid != null) {
                                        LastFMGenNHibernate.CAD.LastFM.IInvitacionCAD invitacionCAD = new LastFMGenNHibernate.CAD.LastFM.InvitacionCAD ();

                                        newinstance.Invitacion_0 = new System.Collections.Generic.List<LastFMGenNHibernate.EN.LastFM.InvitacionEN>();
                                        foreach (int entry in dto.Invitacion_0_oid) {
                                                newinstance.Invitacion_0.Add (invitacionCAD.ReadOIDDefault (entry));
                                        }
                                }
                                newinstance.Id = dto.Id;
                                newinstance.SesionIniciada = dto.SesionIniciada;
                                if (dto.CancionFavoritos_oid != null) {
                                        LastFMGenNHibernate.CAD.LastFM.ICancionCAD cancionCAD = new LastFMGenNHibernate.CAD.LastFM.CancionCAD ();

                                        newinstance.CancionFavoritos = new System.Collections.Generic.List<LastFMGenNHibernate.EN.LastFM.CancionEN>();
                                        foreach (int entry in dto.CancionFavoritos_oid) {
                                                newinstance.CancionFavoritos.Add (cancionCAD.ReadOIDDefault (entry));
                                        }
                                }
                                if (dto.CancionColeccion_oid != null) {
                                        LastFMGenNHibernate.CAD.LastFM.ICancionCAD cancionCAD = new LastFMGenNHibernate.CAD.LastFM.CancionCAD ();

                                        newinstance.CancionColeccion = new System.Collections.Generic.List<LastFMGenNHibernate.EN.LastFM.CancionEN>();
                                        foreach (int entry in dto.CancionColeccion_oid) {
                                                newinstance.CancionColeccion.Add (cancionCAD.ReadOIDDefault (entry));
                                        }
                                }
                        }
                }
                catch (Exception ex)
                {
                        throw ex;
                }
                return newinstance;
        }
        }
}
